diff --git a/system/codeigniter/Base5.php b/system/codeigniter/Base5.php
index ef3fc67..a0beea4 100644
--- a/system/codeigniter/Base5.php
+++ b/system/codeigniter/Base5.php
@@ -32,31 +32,23 @@
 
 class CI_Base {
 
-	public function CI_Base()
-	{
-		$instance =& _load_class('Instance');
-		$instance->set_instance($this);
-	}
-}
+    public static $instance;
 
-class Instance {
-	public static $instance;
-
-	public function set_instance(&$object)
-	{
-		self::$instance =& $object;
-	}
-	
-	public function &get_instance()
-	{
-		return self::$instance;
-	}
+    public function CI_Base()
+    {
+        self::$instance =& $this;
+    }
+    
+    public static function &get_instance()
+    {
+        return self::$instance;
+    }
 }
 
 function &get_instance()
 {
-	$instance =& _load_class('Instance');
-	return $instance->get_instance();	
+    return CI_Base::get_instance();    
 }
 
+
 ?>
\ No newline at end of file
diff --git a/system/database/DB_result.php b/system/database/DB_result.php
index 32c51e0..3bd43ba 100644
--- a/system/database/DB_result.php
+++ b/system/database/DB_result.php
@@ -70,7 +70,7 @@
 		
 		if (count($this->result_object) == 0)
 		{
-			return FALSE;
+			return array();
 		}		
 		
 		return $this->result_object;
@@ -98,7 +98,7 @@
 		
 		if (count($this->result_array) == 0)
 		{
-			return FALSE;
+			return array();
 		}
 		
 		return $this->result_array;
diff --git a/system/libraries/Profiler.php b/system/libraries/Profiler.php
index 807a7a8..6626190 100644
--- a/system/libraries/Profiler.php
+++ b/system/libraries/Profiler.php
@@ -174,7 +174,9 @@
 	 */	
 	function run($output = '')
 	{	
-		$output = '<br style="margin:0;padding:0;clear:both;" />';
+		$obj =& get_instance();
+		
+		$output = '<br clear="all" />';
 	
 		$output .= $this->_compile_benchmarks();
 		$output .= $this->_compile_post();
